module.exports = {
    publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
    chainWebpack: config => {
        // 发布模式
        config.when(process.env.NODE_ENV === 'production', config => {
            config.entry('app').clear().add('./src/main-prod.js')
            // 利用externals加载外部cdn资源
            config.set('externals', {
                vue: 'Vue',
                'vue-router': 'VueRouter',
                axios: 'axios',
                lodash: '_',
                echarts: 'echarts',
                nprogress: 'NProgress',
                'vue-quill-editor': 'VueQuillEditor'
            })

            config.plugin('html').tap(args => {
                args[0].isProd = true
                return args
            })
        })
        
        // 生产模式
        config.when(process.env.NODE_ENV === 'development', config => {
            config.entry('app').clear().add('./src/main-dev.js')

            config.plugin('html').tap(args => {
                args[0].isProd = false
                return args
            })
        })
    },
    // 跨域请求
    devServer: {
        proxy: {
            // 天气的api
            '/api': {
                target: 'https://tianqiapi.com/api',
                ws: true,
                changeOrigin: true,
                pathRewrite: {
                    '^/api': ''  //通过pathRewrite重写地址，将前缀/api转为/
                }
            },
            // 自己服务器的后台api数据
            '/v1': {
                target: 'http://127.0.0.1:8888/api/private/v1',
                pathRewrite: {
                    '^/v1': ''  //通过pathRewrite重写地址，将前缀/v1转为/
                }
            },
        }
    }
}